[IA64] vti fault handler clean up: clean up of vmx_ivt.S
authorAlex Williamson <alex.williamson@hp.com>
Fri, 14 Dec 2007 20:29:42 +0000 (13:29 -0700)
committerAlex Williamson <alex.williamson@hp.com>
Fri, 14 Dec 2007 20:29:42 +0000 (13:29 -0700)
Trivial clean up of vmx_ivt.S
- Use VMX_SAVE_MIN_WITH_COVER instead of VMX_SAVE_MIN_WITH_COVER_R19
  if it isn't necessary.
- Fix vmx_dispatch_interrupt, vmx_interrupt.  psr.i shouldn't be set.
  ia64_handle_irq() should be called with interrupt masked.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
xen/arch/ia64/vmx/vmx_ivt.S

index 97859479932c5a06fc2a5d297c35fc932ab3a04b..c908ce15119de177d92c2eb7138abbea76114287 100644 (file)
@@ -702,9 +702,6 @@ ENTRY(vmx_interrupt)
 
     ssm psr.ic
     ;;
-    srlz.i
-    ;;
-    (p15) ssm psr.i
     adds r3=8,r2               // set up second base pointer for SAVE_REST
     srlz.i                     // ensure everybody knows psr.ic is back on
     ;;
@@ -1361,7 +1358,7 @@ ENTRY(vmx_dispatch_reflection)
 END(vmx_dispatch_reflection)
 
 ENTRY(vmx_dispatch_virtualization_fault)
-    VMX_SAVE_MIN_WITH_COVER_R19
+    VMX_SAVE_MIN_WITH_COVER
     ;;
     alloc r14=ar.pfs,0,0,2,0        // now it's safe (must be first in insn group!)
     mov out0=r13        //vcpu
@@ -1384,7 +1381,7 @@ END(vmx_dispatch_virtualization_fault)
 
 
 GLOBAL_ENTRY(vmx_dispatch_vexirq)
-    VMX_SAVE_MIN_WITH_COVER_R19
+    VMX_SAVE_MIN_WITH_COVER
     alloc r14=ar.pfs,0,0,1,0
     mov out0=r13
 
@@ -1424,8 +1421,7 @@ ENTRY(vmx_dispatch_tlb_miss)
 END(vmx_dispatch_tlb_miss)
 
 ENTRY(vmx_dispatch_break_fault)
-    VMX_SAVE_MIN_WITH_COVER_R19
-    ;;
+    VMX_SAVE_MIN_WITH_COVER
     ;;
     alloc r14=ar.pfs,0,0,4,0 // now it's safe (must be first in insn group!)
     mov out0=cr.ifa
@@ -1450,17 +1446,15 @@ END(vmx_dispatch_break_fault)
 
 
 ENTRY(vmx_dispatch_interrupt)
-    VMX_SAVE_MIN_WITH_COVER_R19        // uses r31; defines r2 and r3
+    VMX_SAVE_MIN_WITH_COVER    // uses r31; defines r2 and r3
     ;;
-    alloc r14=ar.pfs,0,0,2,0 // must be first in an insn group
+    alloc r14=ar.pfs,0,0,2,0   // must be first in an insn group
     mov out0=cr.ivr            // pass cr.ivr as first arg
     adds r3=8,r2               // set up second base pointer for SAVE_REST
     ;;
     ssm psr.ic
     ;;
     srlz.i
-    ;;
-    (p15) ssm psr.i
     movl r14=ia64_leave_hypervisor
     ;;
     VMX_SAVE_REST